1. Technical Field
This invention relates generally to computer software processing which supports interactive multi-player computer games. More particularly, the invention provides an enhanced way of determining which game characters should receive updated information as available bandwidth decreases.
2. Related Information
Interactive multi-player computer games such as Doom.TM., Quake.TM., Duke Nukem 3-D.TM. are well known. In such games, players can navigate through various "rooms" requiring player interaction in the form of uncovering clues, answering questions, and making selections. In certain versions of these games, each player is provided with a dedicated personal computer which interacts with a central computer over the Internet or other communication medium. New players can enter a game already in progress, while others can exit at their choosing.
As one example, a game might provide a room where a large number of players represented by characters can interact, exchange messages, and engage in group actions. An example of room might be a "submarine" room which can hold a limited number of people at a time, wherein each player controls certain activities in the room. Based on the skills of each player, the submarine can be made to move toward various destinations and, upon successful arrival at a particular location, one or more players can move from the submarine into a different room. The players can play the game from different geographic locations and yet, because of coordination in a central computer program, each player is made aware of the actions of the other players.
FIG. 7 shows a conventional arrangement of characters 101-110 in room (or sector) 100. As character 107 moves about in room 100 or makes statements about its surroundings, each and every action taken by character 107 is transmitted to all of the other characters in the same room 100. The transmission of these messages are represented by the arrows from character 107 to each and every other character.
Several problems exist with the conventional arrangement depicted in FIG. 7. For one, it is not uncommon for a very large number of game players (hundreds or thousands) to simultaneously play one game. When a large number of players participate in a game, the server supporting room 100 has to transmit each and every action from each and every character to each and every other character. For a few characters, a server supporting room 100 may handle the messages properly. However, with numerous characters, the server supporting room 100 bogs down with the numerous messages transmitted between characters. The extra load on the server becomes cumulative with every passing instant as more messages keep coming. This situation can force the server to cancel its connections with characters or even shut itself down. Thus, conventional multi-player games are resource-intensive as they may quickly bog down a server with multiple players playing the game. Due to the increasing popularity of interactive computer games, this problem has become more widespread. Accordingly, a need exists to provide a more efficient and stable platform for interactive multiplayer game systems.
Also, a single player may on occasion experience a slowdown in its computer's processing ability. For example, the player's computer's its connection to the server supporting room 100 may become temporarily disabled. Alternatively, the player may be using a slow modem connection. If disabled or delayed for any length of time, the messages attempted to be sent to the player will overload the server, the player will be considered dead and the player will be cut off from playing the game. This is an unpleasant occurrence for the player. Accordingly, a need exists to minimize the likelihood of a player being cut out of a game because of a temporary delay at the player's machine.